//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
//
// (C) Copyright 2006 Marvell International Ltd.
// All Rights Reserved
//
//------------------------------------------------------------------------------
//
//  Header:  oal_args_kitl.h
//
//  This header file defines OAL boot arguments for kitl.
//  It's from the original oal_kitl.h
//

#ifndef __OAL_KITL2_H
#define __OAL_KITL2_H

#if __cplusplus
extern "C" {
#endif

//------------------------------------------------------------------------------
//
//  Type:  OAL_KITL_ARGS
//
//  This type is used to pass parameters to OALKitlInit function. When
//  another KITL transport protocol is added this structure can change by 
//  adding new structure in union.
//

typedef struct {
    UINT32 flags;
    DEVICE_LOCATION devLoc;             // KITL device location
    union {
        struct {                        // Serial class parameters
            UINT32 baudRate;
            UINT32 dataBits;
            UINT32 stopBits;
            UINT32 parity;
        };         
        struct {                        // Ether class parameters
            UINT16 mac[3];
            UINT32 ipAddress;
            UINT32 ipMask;
            UINT32 ipRoute;
        };
    };
} OAL_KITL_ARGS;

#define OAL_KITL_REG_KEY_NAME TEXT("System\\KITL")
#define OAL_KITL_REG_VALUE_NAME_CFG TEXT("oalcfg")

#define OAL_KITL_REG_TYPE_MASK 0x0000000f
#define OAL_KITL_REG_TYPE_NONE 0
#define OAL_KITL_REG_TYPE_ETH 1
#define OAL_KITL_REG_TYPE_USB11 2
#define OAL_KITL_REG_TYPE_USB20 3

#if __cplusplus
}
#endif

#endif
